package com.hmall.model;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;

@Table(name = "mall_payment_voucher")
public class MallPaymentVoucher {
    /**
     * 支付凭证ID
     */
    @Id
    @Column(name = "voucher_id")
    private Integer voucherId;

    /**
     * 支付流水号
     */
    @Column(name = "transaction_no")
    private String transactionNo;

    @Column(name = "order_no")
    private Long orderNo;

    /**
     * 账期
     */
    @Column(name = "account_period")
    private Integer accountPeriod;

    @Column(name = "update_time")
    private Date updateTime;

    /**
     * 下次预还款日期
     */
    @Column(name = "next_paytime")
    private Date nextPaytime;

    @Column(name = "create_time")
    private Date createTime;

    /**
     * 下次预还款金额
     */
    @Column(name = "next_payment")
    private BigDecimal nextPayment;

    /**
     * 实际支付金额
     */
    @Column(name = "fact_payment")
    private BigDecimal factPayment;

    /**
     * 利率
     */
    @Column(name = "interest_rate")
    private BigDecimal interestRate;

    /**
     * 利息
     */
    private BigDecimal interest;

    /**
     * 未支付金额
     */
    @Column(name = "unpay_peyment")
    private BigDecimal unpayPeyment;

    /**
     * 是否通过审核 0 未审核 1 已审核 2 未审核
     */
    @Column(name = "is_adopt")
    private Integer isAdopt;

    /**
     * 审核意见
     */
    private String opinion;

    @Column(name = "user_id")
    private Integer userId;

    /**
     * 审批人
     */
    private String approver;

    /**
     * 审批人电话
     */
    @Column(name = "approver_phone")
    private String approverPhone;

    /**
     * 支付方式
     */
    @Column(name = "payment_type")
    private Integer paymentType;

    /**
     * 支付账号
     */
    @Column(name = "account_number")
    private String accountNumber;

    /**
     * 收款人姓名
     */
    @Column(name = "payee_name")
    private String payeeName;

    /**
     * 收款人电话
     */
    @Column(name = "payee_phone")
    private String payeePhone;

    /**
     * 凭条图片地址
     */
    @Column(name = "voucher_img")
    private String voucherImg;

    /**
     * 是否付款 1 是 0 否
     */
    @Column(name = "is_pay")
    private Integer isPay;

    /**
     * 是否定金 1 是 2 不是
     */
    @Column(name = "is_deposit")
    private Integer isDeposit;

    /**
     * 当月本金
     */
    @Column(name = "current_principal")
    private BigDecimal currentPrincipal;

    /**
     * 获取支付凭证ID
     *
     * @return voucher_id - 支付凭证ID
     */
    public Integer getVoucherId() {
        return voucherId;
    }

    /**
     * 设置支付凭证ID
     *
     * @param voucherId 支付凭证ID
     */
    public void setVoucherId(Integer voucherId) {
        this.voucherId = voucherId;
    }

    /**
     * 获取支付流水号
     *
     * @return transaction_no - 支付流水号
     */
    public String getTransactionNo() {
        return transactionNo;
    }

    /**
     * 设置支付流水号
     *
     * @param transactionNo 支付流水号
     */
    public void setTransactionNo(String transactionNo) {
        this.transactionNo = transactionNo;
    }

    /**
     * @return order_no
     */
    public Long getOrderNo() {
        return orderNo;
    }

    /**
     * @param orderNo
     */
    public void setOrderNo(Long orderNo) {
        this.orderNo = orderNo;
    }

    /**
     * 获取账期
     *
     * @return account_period - 账期
     */
    public Integer getAccountPeriod() {
        return accountPeriod;
    }

    /**
     * 设置账期
     *
     * @param accountPeriod 账期
     */
    public void setAccountPeriod(Integer accountPeriod) {
        this.accountPeriod = accountPeriod;
    }

    /**
     * @return update_time
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * @param updateTime
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取下次预还款日期
     *
     * @return next_paytime - 下次预还款日期
     */
    public Date getNextPaytime() {
        return nextPaytime;
    }

    /**
     * 设置下次预还款日期
     *
     * @param nextPaytime 下次预还款日期
     */
    public void setNextPaytime(Date nextPaytime) {
        this.nextPaytime = nextPaytime;
    }

    /**
     * @return create_time
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * @param createTime
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取下次预还款金额
     *
     * @return next_payment - 下次预还款金额
     */
    public BigDecimal getNextPayment() {
        return nextPayment;
    }

    /**
     * 设置下次预还款金额
     *
     * @param nextPayment 下次预还款金额
     */
    public void setNextPayment(BigDecimal nextPayment) {
        this.nextPayment = nextPayment;
    }

    /**
     * 获取实际支付金额
     *
     * @return fact_payment - 实际支付金额
     */
    public BigDecimal getFactPayment() {
        return factPayment;
    }

    /**
     * 设置实际支付金额
     *
     * @param factPayment 实际支付金额
     */
    public void setFactPayment(BigDecimal factPayment) {
        this.factPayment = factPayment;
    }

    /**
     * 获取利率
     *
     * @return interest_rate - 利率
     */
    public BigDecimal getInterestRate() {
        return interestRate;
    }

    /**
     * 设置利率
     *
     * @param interestRate 利率
     */
    public void setInterestRate(BigDecimal interestRate) {
        this.interestRate = interestRate;
    }

    /**
     * 获取利息
     *
     * @return interest - 利息
     */
    public BigDecimal getInterest() {
        return interest;
    }

    /**
     * 设置利息
     *
     * @param interest 利息
     */
    public void setInterest(BigDecimal interest) {
        this.interest = interest;
    }

    /**
     * 获取未支付金额
     *
     * @return unpay_peyment - 未支付金额
     */
    public BigDecimal getUnpayPeyment() {
        return unpayPeyment;
    }

    /**
     * 设置未支付金额
     *
     * @param unpayPeyment 未支付金额
     */
    public void setUnpayPeyment(BigDecimal unpayPeyment) {
        this.unpayPeyment = unpayPeyment;
    }

    /**
     * 获取是否通过审核 0 未审核 1 已审核 2 未审核
     *
     * @return is_adopt - 是否通过审核 0 未审核 1 已审核 2 未审核
     */
    public Integer getIsAdopt() {
        return isAdopt;
    }

    /**
     * 设置是否通过审核 0 未审核 1 已审核 2 未审核
     *
     * @param isAdopt 是否通过审核 0 未审核 1 已审核 2 未审核
     */
    public void setIsAdopt(Integer isAdopt) {
        this.isAdopt = isAdopt;
    }

    /**
     * 获取审核意见
     *
     * @return opinion - 审核意见
     */
    public String getOpinion() {
        return opinion;
    }

    /**
     * 设置审核意见
     *
     * @param opinion 审核意见
     */
    public void setOpinion(String opinion) {
        this.opinion = opinion;
    }

    /**
     * @return user_id
     */
    public Integer getUserId() {
        return userId;
    }

    /**
     * @param userId
     */
    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    /**
     * 获取审批人
     *
     * @return approver - 审批人
     */
    public String getApprover() {
        return approver;
    }

    /**
     * 设置审批人
     *
     * @param approver 审批人
     */
    public void setApprover(String approver) {
        this.approver = approver;
    }

    /**
     * 获取审批人电话
     *
     * @return approver_phone - 审批人电话
     */
    public String getApproverPhone() {
        return approverPhone;
    }

    /**
     * 设置审批人电话
     *
     * @param approverPhone 审批人电话
     */
    public void setApproverPhone(String approverPhone) {
        this.approverPhone = approverPhone;
    }

    /**
     * 获取支付方式
     *
     * @return payment_type - 支付方式
     */
    public Integer getPaymentType() {
        return paymentType;
    }

    /**
     * 设置支付方式
     *
     * @param paymentType 支付方式
     */
    public void setPaymentType(Integer paymentType) {
        this.paymentType = paymentType;
    }

    /**
     * 获取支付账号
     *
     * @return account_number - 支付账号
     */
    public String getAccountNumber() {
        return accountNumber;
    }

    /**
     * 设置支付账号
     *
     * @param accountNumber 支付账号
     */
    public void setAccountNumber(String accountNumber) {
        this.accountNumber = accountNumber;
    }

    /**
     * 获取收款人姓名
     *
     * @return payee_name - 收款人姓名
     */
    public String getPayeeName() {
        return payeeName;
    }

    /**
     * 设置收款人姓名
     *
     * @param payeeName 收款人姓名
     */
    public void setPayeeName(String payeeName) {
        this.payeeName = payeeName;
    }

    /**
     * 获取收款人电话
     *
     * @return payee_phone - 收款人电话
     */
    public String getPayeePhone() {
        return payeePhone;
    }

    /**
     * 设置收款人电话
     *
     * @param payeePhone 收款人电话
     */
    public void setPayeePhone(String payeePhone) {
        this.payeePhone = payeePhone;
    }

    /**
     * 获取凭条图片地址
     *
     * @return voucher_img - 凭条图片地址
     */
    public String getVoucherImg() {
        return voucherImg;
    }

    /**
     * 设置凭条图片地址
     *
     * @param voucherImg 凭条图片地址
     */
    public void setVoucherImg(String voucherImg) {
        this.voucherImg = voucherImg;
    }

    /**
     * 获取是否付款 1 是 0 否
     *
     * @return is_pay - 是否付款 1 是 0 否
     */
    public Integer getIsPay() {
        return isPay;
    }

    /**
     * 设置是否付款 1 是 0 否
     *
     * @param isPay 是否付款 1 是 0 否
     */
    public void setIsPay(Integer isPay) {
        this.isPay = isPay;
    }

    /**
     * 获取是否定金 1 是 2 不是
     *
     * @return is_deposit - 是否定金 1 是 2 不是
     */
    public Integer getIsDeposit() {
        return isDeposit;
    }

    /**
     * 设置是否定金 1 是 2 不是
     *
     * @param isDeposit 是否定金 1 是 2 不是
     */
    public void setIsDeposit(Integer isDeposit) {
        this.isDeposit = isDeposit;
    }

    /**
     * 获取当月本金
     *
     * @return current_principal - 当月本金
     */
    public BigDecimal getCurrentPrincipal() {
        return currentPrincipal;
    }

    /**
     * 设置当月本金
     *
     * @param currentPrincipal 当月本金
     */
    public void setCurrentPrincipal(BigDecimal currentPrincipal) {
        this.currentPrincipal = currentPrincipal;
    }
}